package com.ningju.procurement.common.mybatis.pager;

/**
 * 分页参数
 * @author imhu
 */
public class PageParam {
	
	public static Integer C_DEFAULT_PAGESIZE = 10;
	public static Integer C_DEFAULT_CURPAGE= 1;
	
	private Integer pageSize = C_DEFAULT_PAGESIZE;   //单页显示条数，默认10
	private Integer page = C_DEFAULT_CURPAGE;     	//当前页，默认为第一页
	private Integer count = null;					//总共多少条
	
	public PageParam() {
	}
	
	/**
	 * @param page 当前第几页
	 * @param pageSize 每页多少条
	 */
	public PageParam(int page, int pageSize) {
		setPage(page);
		setPageSize(pageSize);
	}

	public Integer getStart() {
		return (getPage() - 1) * getPageSize();
	}

	public Integer getPageSize() {
		return pageSize;
	}
	
	public PageParam setPageSize(Integer pageSize) {
		if( pageSize == null || pageSize <= 0 ) {
			this.pageSize = C_DEFAULT_PAGESIZE;
	    } else {
	    	this.pageSize = pageSize;
	    }
		return this;
	}
	
	public Integer getPage() {
		return page;
	}
	
	public PageParam setPage(Integer curPage) {
		this.page = Math.max(0, curPage);
		return this;
	}
	
	public Integer getCount() {
		return count;
	}

	public void setCount(Integer count) {
		this.count = count;
	}

	public Integer getPageCount() {
		return (int) Math.ceil(getCount() / (getPageSize() * 1.0));
	}

}